package com.xxxt.hrs.service;


import com.github.pagehelper.PageInfo;
import com.xxxt.entity.Student;

public interface StudentService {
	/**
	 先进行是否存在判断 存在则不添加
	 * @param student 传入学生实体类
	 * @return 增加成功返回true 不成功之前以及有这个学生返回false
	 */
public boolean addOneStudent(Student student);

/**
 * 
 * @param sno 学生学号
 * @return 存在返回true 不存在返回 false
 */
public boolean studentIsExist(String sno);

/**
  *  对Mapper进行分页组装一波
 * @param pageNum 从第几页开始开始
 * @param pageSize 一页大小
 * @param classGradeId 班级id
 * @return 分页后的学生集合
 */
public PageInfo<Student> queryClassGradeByClassGradeIdWithPage(int pageNum,int pageSize,String classGradeId);

/**
 * 
 * @param pageNum 从第几页开始开始
 * @param pageSize 一页大小
 * @param name 模糊查询名称
 * @return 分页后的学生集合
 */
public PageInfo<Student> queryManyStudentByNameLikeWithPage(int pageNum,int pageSize,String name);

/**
 * 
 * @param pageNum 从第几页开始开始
 * @param pageSize 一页大小
 * @param gradeId 年级Id
 * @return 分页后的学生集合
 */
public PageInfo<Student> queryStudentByGradeWithPage(int pageNum,int pageSize,String gradeId);
/**
 * 
 * @param pageNum 从第几页开始开始
 * @param pageSize 一页大小
 * @param specialtyId 专业Id
 * @return 分页后的学生集合
 */
public PageInfo<Student> queryStudentBySpecialtyWithPage(int pageNum,int pageSize,String specialtyId);

/**
 * 
 * @param pageNum 从第几页开始开始
 * @param pageSize  一页大小
 * @param collegeId 学院id
 * @return 分页后的学生集合 
 */
public PageInfo<Student> queryStudentByCollegeWithPage(int pageNum,int pageSize,String collegeId);

/**
 * 
 * @param pageNum  从第几页开始开始
 * @param pageSize 一页大小
 * @param schoolId 学校id
 * @return
 */
public PageInfo<Student> queryStudentBySchoolWithPage(int pageNum,int pageSize,String schoolId);

/**
 * 
 * @param pageNum 从第几页开始开始
 * @param pageSize 一页大小
 * @param name 学生姓名
 * @param classGradeId 班级id
 * @return
 */
public PageInfo<Student> queryStudentByNameAndClassGradeWithPage(int pageNum,int pageSize,String name,String classGradeId);

/**
 * 
 * @param pageNum 从第几页开始开始
 * @param pageSize 一页大小
 * @param name 学生姓名
 * @param gradeId 年级id
 * @return
 */
public PageInfo<Student> queryStudentByNameAndGradeWithPage(int pageNum,int pageSize,String name,String gradeId);

/**
 * 
 * @param pageNum 从第几页开始开始
 * @param pageSize  一页大小
 * @param name 学生姓名
 * @param specialtyId 专业id
 * @return
 */
public PageInfo<Student> queryStudentByNameAndSpecialtyWithPage(int pageNum,int pageSize,String name,String specialtyId);
/**
 * 
 * @param pageNum 从第几页开始开始
 * @param pageSize  一页大小
 * @param name 学生姓名
 * @param collegeId 学院id
 * @return
 */
public PageInfo<Student> queryStudentByNameAndCollegeWithPage(int pageNum,int pageSize,String name,String collegeId);
/**
 * 
 * @param pageNum 从第几页开始开始
 * @param pageSize  一页大小
 * @param name 学生姓名
 * @param schoolId 学校id
 * @return
 */
public PageInfo<Student> queryStudentByNameAndSchoolWithPage(int pageNum,int pageSize,String name,String schoolId);

/**
 * 
 * @param pageNum 从第几页开始开始
 * @param pageSize  一页大小
 * @param companyId 公司id
 * @return
 */
public PageInfo<Student> queryStudentByCompanyWithPage(int pageNum,int pageSize,String companyId);
/**
 * 
 * @param pageNum 从第几页开始开始
 * @param pageSize  一页大小
 * @param tno 教师编号
 * @return
 */
public PageInfo<Student> queryStudentWithInternshipWithPage(int pageNum,int pageSize,String tno);

public PageInfo<Student> queryStudentWithNoInternshipWithPage(int pageNum,int pageSize,String tno);

}
